Skip to content

Automate Java SDK releases - #3127

Merged
eamsden merged 12 commits into
mainfrom
eamsden/simple-release-automation
Oct 9, 2026
Merged

eamsden merged 12 commits into
mainfrom
eamsden/simple-release-automation

Conversation

@eamsden

@eamsden eamsden commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

What changed?

  • Automate releases, triggered introducing new version headings in Changelog

Why?

We want to automate all releases. Java in particular ships the test server and footguns in the manual release pipelines have resulted in incidents breaking customer CI.

Breaking changes?

None.

Server PR

N/A.

Testing

  • .github/scripts/test-release.sh
  • ./gradlew --offline spotlessCheck
  • Parsed .github/workflows/release.yml with Ruby's YAML parser.
  • git diff --check origin/main...HEAD

@eamsden
eamsden marked this pull request as ready for review October 5, 2026 21:04
@eamsden
eamsden requested a review from a team as a code owner October 5, 2026 21:04
@eamsden
eamsden force-pushed the eamsden/simple-release-automation branch from ad858b5 to 3f32153 Compare October 5, 2026 21:56
@Quinn-With-Two-Ns

Copy link
Copy Markdown
Contributor

I did a AI assisted review and found a few issues

For a pull request, the workflow passes the current target branch SHA as BASE_SHA and the feature branch SHA as HEAD_SHA. The candidate script requires BASE_SHA to be an ancestor of HEAD_SHA. Once main advances after a feature branch is created, that condition is false even for a valid, mergeable PR. This also rejects ordinary PRs that only add notes under [Unreleased]. I reproduced this with a small Git repository: branch feature, advance main, add a changelog entry on feature, and run release.sh candidate with the two branch heads. It exits 1 with The base commit must be an ancestor of the release commit. The new test fixture uses a linear history and misses this case. I think this would impact us if we needed to do a patch release of old versions. The setup instructions say to restrict that environment to main but we should also be able to release from other branches for back-porting fixes .

@eamsden

eamsden commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

I think this would impact us if we needed to do a patch release of old versions. The setup instructions say to restrict that environment to main but we should also be able to release from other branches for back-porting fixes .

I checked the last time we did a branch release and it was quite a while ago, so I wasn't sure if we should support that out of the box. I can make sure it is supported though.

@eamsden
eamsden force-pushed the eamsden/simple-release-automation branch from 6881202 to b0151ab Compare October 9, 2026 21:56
@eamsden eamsden added the skip-changelog PR changes do not require changelog updates label Oct 9, 2026
@eamsden
eamsden merged commit ffc255f into main Oct 9, 2026
28 of 31 checks passed
@eamsden
eamsden deleted the eamsden/simple-release-automation branch October 9, 2026 22:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog PR changes do not require changelog updates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants